Recent advances in communication systems have enabled a wide array of special services available to subscribers. Examples of such services include abbreviated dialing, which allows a subscriber to reach a party by dialing less than the entire telephone number of that party, call forwarding, in which calls directed to the subscriber may be forwarded to another line, terminating call screening, which allows the subscriber to specify certain time during which incoming calls are to be rejected, and originating call screening, in which calls to certain telephone numbers are barred. In general, special communications services encompass those call features that do more than simply place or terminate telephone calls as dialed.
In the past, switches or other entities of a communication (or telecommunication) network that route calls from one location to another governed and provided special telecommunications services. Such switches or other entities are usually at least part of a “serving system” that provides service for multiple subscribers (typically in a given area).
Many telecommunications networks have adopted an advanced intelligent network (AIN) approach (or simply intelligent network (IN)) to implement a serving system, that may govern and provide such special telecommunications services. (An IN network is a telecommunications network architecture that separates service logic from switching equipment, allowing new services to be added without having to redesign switches to support the new services.) According to IN, control information and call processing logic reside in a central network location or a central control point. Switches within the telecommunication network are programmed with a relatively minimal set of service logic that causes the switch to query the central control point at predefined “trigger points” during call processing, providing the central control point with parameters such as an identification of the calling and called parties, for example. When the central control point receives the query message, it may execute an appropriate set of service logic or consult appropriate databases in order to obtain information and instructions needed to provide a special service to the call. In turn, the central control point may return a response message to the switch, instructing the switch how to handle the call. In general, the trigger points and other control information and parameters about call processing for a given subscriber or group of subscribers can be defined and recorded in a database that is maintained for reference by the serving system during call processing. This set of parameters is considered a type of profile for the given subscriber, or a “subscriber profile.” When the switch receives a request to complete a call to or from a subscriber, the switch may consult the subscriber's profile to determine whether it needs to query a central control point for call-handling instructions and/or whether it should carry out certain call processing logic itself.
A subscriber profile may define various types of trigger points and control information. For example, a profile may define an “all-digits trigger,” which instructs the network to query the central control point whenever the serving system receives a call origination attempt from the subscriber. Similarly, a profile may define a “termination-attempt trigger,” which informs the network to query the central control point whenever the serving system receives a request to connect a call to the subscriber. Such triggers can be usefully employed to give the central control point control over the services that will be provided to the subscriber. Other triggers are available as well.
An IN system typically employs a standardized set of messages for communication between the switches and the central control point, in order to allow for a variety of services and triggers within call-processing to be utilized. This standardized set of messages may be To conveyed over an out-of-band common channel interoffice signaling (CCIS) network, according to an established signaling protocol, such as signaling system #7 (SS7). According to SS7, predefined messages may be coded as transaction capabilities application part (TCAP) messages and routed via signaling transfer points (STP) between the switches and the central control point.
An IN system may be employed within a landline or a wireless telecommunications network. In a landline IN arrangement, each serving system includes a switch referred to as a service switching point (SSP). The SSP is coupled via an STP network to a central control point, which is referred to as a service control point (SCP). The SSP includes a subscriber profile database, which defines trigger points for a given subscriber. The SCP includes a subscriber profile database as well, indicating what service logic to provide for a particular subscriber. When the SSP encounters a trigger point during call processing, it generates a TCAP query message defining the subscriber and other parameters, and it sends the query message to the SCP. The SCP may then reference its subscriber profile database and identify and execute the appropriate set of service logic. The SCP then generates and sends a TCAP response message to the SSP providing call handling instructions.
In a wireless IN arrangement (i.e., wireless intelligent network (WIN)), each serving system includes a switch often referred to as a mobile switching center (MSC) and the system includes an SCP as well. The serving system also includes a home location register (HLR) (in addition to or rather than an SCP) that defines the services and features authorized for use by the subscriber. A mobile subscriber communicates with the MSC through a base station, which provides an air interface for the mobile subscriber. The MSC connects to the HLR and the SCP through an STP network in order to access information about the subscriber. When a mobile subscriber operates in a given serving system, the serving system engages in signaling communication with the HLR in the subscriber's home system to notify the HLR where the subscriber is located and to obtain the subscriber's current profile. The serving system may also include a subscriber profile database referred to as a visitor location register (VLR), which stores a temporary copy of a subscriber's profile obtained from the HLR. The MSC may also access the VLR to obtain information about the subscriber.
The IN arrangement typically also includes a service management system (SMS) that stores a backup of the subscriber's profile. The SMS couples to the SCP or the HLR within the arrangement. The IN serving system arrangement may further include an integrated service control point (ISCP), which may function similar to an SCP. Furthermore, the IN system may include an advanced service management system (ASMS), which functions similar to the SMS.
The ISCP and ASMS may be included in the IN system in addition to or rather than the SCP and SMS within the system.
In a typical IN arrangement, many of the services for which a subscriber is authorized (i.e., to which the subscriber subscribes) can be turned on and off (activated or deactivated) or modified. For example, a subscriber may subscribe to a call-forwarding service, which provides that an unanswered call should be forwarded to a designated network address. And the subscriber may then be given the ability to turn this service on or off. The subscriber may also be given the ability to set the telephone number to which the calls to the subscriber should be forwarded, or modify this telephone number as well.
To facilitate activating, deactivating, and modifying telecommunications services to which the subscriber subscribes, the industry has for many years employed a concept known as “feature codes.” A service provider may define specific digit sequences for use in activating, deactivating, or modifying particular service features. Each sequence is known as a feature code or a feature code string. A feature code usually consists of an asterisk (*) followed by one or more numeric digits (0 through 9). For example, the feature code string                *72 3125559811could mean that a call forwarding “forward-to” number is being set. In this example, *72 indicates that the call-forwarding feature is being accessed, and the digit sequence 3125559811 indicates the forward-to number. In some instances, a feature code may be sent to activate, deactivate, or modify a service feature generally for all calls. Other feature codes can be applied on a per-call basis.        
When a subscriber sends a feature code to a serving system, the serving system may respond to the feature code by employing logic to activate, deactivate, or modify a service feature for the subscriber. The serving system may also, or alternatively, forward the feature code and other dialed digits to a central control point, which may responsively activate, deactivate, or modify a service feature for the subscriber.
To activate, deactivate, or modify a service, a subscriber must be authorized to use the service. A subscriber can obtain authorization by requesting that the service be added to his/her subscriber profile. As such, a subscriber cannot activate a service that is not within his/her subscriber profile, because the subscriber only has authorization to use services within his/her profile (i.e., services to which the subscriber has subscribed).
With advances in communications, the industry has recognized an increasing importance of providing new services for subscribers, such as those that can be activated using feature codes. Currently, for a subscriber to subscribe to a new service and be authorized to activate, deactivate, or modify the new service, the subscriber must contact a customer care center managed by the subscriber's service provider. Upon contacting the customer care center, the subscriber can then inform a customer care agent (i.e., an individual working at the customer care center) of the services that the subscriber wants to add to his/her subscription. The customer care agent may is then create a new record in the subscriber's profile (or modify an existing record in the subscriber's profile) in order to add the new services for the subscriber. The new record is typically reflected in the subscriber's profile within one business day.
The subscriber must contact the customer care center whenever he/she desires to subscribe to or unsubscribe from services (contrasted with merely activating, deactivating, or changing an operational parameter of a service to which the subscriber already subscribes). This can become a burdensome and an inefficient manner of providing subscription services. In addition, when subscribing to or unsubscribing from services, the subscriber may have to wait for the customer care center (and the back-end provisioning system) to update the subscriber's profile in order for the changes to take effect.